#ifndef __arena_1dfood_h__
#define __arena_1dfood_h__

#include <string>
#include <vector>

#include "arena_base.h"

class Predictor_link;

class Arena_1dfood : public Arena_base
{
 public:
  Arena_1dfood();
  ~Arena_1dfood();

  float get_distance_to_food( void );

  boost::function<void(float)> set_speed_function( void );
  boost::function<void(float)> eat_function( void );

  void set_speed( float speed );
  void eat( float volume );

  void update( float time );

  void reset( void );

  float *get_distance_to_food_p( void );

 private:
  float _distance_to_food;
  float _speed;

  std::string get_state(void);

  void update_arena(void);
};

#endif
